package cn.hncu.booksManagementSystem.book.business.ebi;

import java.util.Collection;

import cn.hncu.booksManagementSystem.book.vo.BookModel;
import cn.hncu.booksManagementSystem.book.vo.BookQueryModel;
/**
 * Description:
 *	图书模块逻辑层接口
 */
public interface BookEbi {
	/**
	 * 添加一个 BookModel 对象
	 * @param book 被添加的对象
	 * @return true：添加成功，false：添加失败
	 */
	public boolean add(BookModel book);
	/**
	 * 删除一个 BookModel 对象
	 * @param book 被删除的对象
	 * @return true：删除成功，false：删除失败
	 */
	public boolean delete(BookModel book);
	
	/**
	 * 修改一个 BookModel 对象
	 * @param book 被修改的对象
	 * @return true：修改成功，false：修改失败
	 */
	public boolean update(BookModel book);
	/**
	 * 通过图书id查询
	 * @param id 被查询对象的编号id
	 * @return 返回BookModel的实例对象表示查找到，返回null表示没有查找到相应id的用户
	 */
	public BookModel getBookModelById(String id);
	/**
	 * 查询所有图书
	 * @return 所有图书的集合
	 */
	public Collection<BookModel> getAll();
	/**
	 * 根据查询值对象查询图书
	 * @param bqm 查询值对象
	 * @return 符合条件的图书集合
	 */
	public Collection<BookModel> getBooksByCondition(BookQueryModel bqm);
}
